// 下载最新的APP
const downloadApp = (appUrl, isHint) => {
	//下载最新版本APP
	if (isHint) {
		// uni.showLoading({
		// 	title: '下载中...',
		// 	mask: true
		// })
	}
	let waiting = plus.nativeUI.showWaiting("正在下载...");
	
	let downloadTask = uni.downloadFile({
		url: appUrl,
		success: fileResult => {
			uni.hideLoading();
			if (isHint) {
				uni.showModal({
					content: '下载成功，需要重启APP并安装。',
					confirmText: '重启',
					showCancel: false,
					success: function(modalResult) {
						if (modalResult.confirm) {
							plus.runtime.install(
								fileResult.tempFilePath, {
									force: true
								},
								function() {
									uni.showLoading({
										title: '更新成功，重启中...',
										mask: true
									})
									plus.runtime.restart();
								}
							)
						}
					}
				})
			} else {
				plus.runtime.install(fileResult.tempFilePath, {
					force: true
				})
			}
			plus.nativeUI.closeWaiting()
		},
		fail: err => {
			if (isHint) {
				uni.hideLoading();
				plus.nativeUI.closeWaiting()
				uni.showToast({
					title: '下载失败，请检查你的网络情况！',
					icon: 'none'
				})
			}
		},
		complete: ()=>{
			uni.hideLoading();
			downloadTask.offProgressUpdate();//取消监听加载进度
		}
	})
	downloadTask.onProgressUpdate((res) => {
		if(res.progress) {
			// console.log(`😑 ~ file: updataApp.js:65 ~ res.progress:`, res.progress)
			waiting.setTitle("正在下载 - " + res.progress + " %" + " ");
		}
		

		// 测试条件，取消下载任务。
		// if (res.progress > 50) {
		// 	downloadTask.abort();
		// }
	});
}
// 获取版本号对比是否需要更新
export const getAppVersion = (isHint = true, serveAppVersion = null, serveAppUrl = null) => {
	// 当前本地的APP版本号
	let currentAppVersion = null
	plus.runtime.getProperty(plus.runtime.appid, function(e) {
		currentAppVersion = e.version
		if (serveAppVersion > currentAppVersion) {
			if (isHint) {
				// 弹窗更新
				uni.showModal({
					content: '当前有最新版本，是否要下载更新？',
					success: (res) => {
						if (res.confirm) {
							downloadApp(serveAppUrl, isHint)
						}
					}
				})
			} else {
				// 热更新
				downloadApp(serveAppUrl, isHint)
			}
		}
	});
}